/'	
	
		FB.Strings - Various string functions for FreeBASIC
	
		version: 1.0
		
		authors:
			- Aleksandar Ruzicic <krckoorascic@gmail.com>	
'/

#Ifndef __FB_STRINGS_BI__
#Define __FB_STRINGS_BI__
	
	Namespace FB.Strings
		
		Enum CompareMethod
			BinaryCompare
			TextCompare
		End Enum
		
		Type StrCharReplacer As Function(ByVal As UByte, ByVal As UInteger) As String 	
		
		Declare Function StrReplace OverLoad(ByVal As Const String, ByVal As Const String, ByVal As Const String, ByRef As Integer = 0, ByVal As Const Integer = 0, ByVal As Const CompareMethod = BinaryCompare) As String
		Declare Function StrReplace(ByVal As String, find() As String, replace() As String, ByRef As Integer = 0, ByVal As Const Integer = 0, ByVal As Const CompareMethod = BinaryCompare) As String
		Declare Function StrReplace(ByVal As String, find() As String, ByVal As String, ByRef As Integer = 0, ByVal As Const Integer = 0, ByVal As Const CompareMethod = BinaryCompare) As String
		Declare Function StrReplace(source() As String, find() As String, replace() As String, result() As String, ByRef As Integer = 0, ByVal As Const Integer = 0, ByVal As Const CompareMethod = BinaryCompare) As Integer
		Declare Function StrReverse(ByVal As String) As String
		Declare Function StrInStrRev OverLoad(ByVal As Const String, ByVal As Const String, ByVal As Integer = 0) As Integer		
		Declare Function StrInStrRev(ByVal As Const Integer, ByVal As Const String, ByVal As Const String, ByVal As Integer = 0) As Integer
		Declare Function StrAlignLeft(ByVal As Const String, ByVal As Const Integer, ByVal As Const String = " ") As String
		Declare Function StrAlignRight(ByVal As Const String, ByVal As Const Integer, ByVal As Const String = " ") As String		
		Declare Function StrAlignCenter(ByVal As Const String, ByVal As Const Integer, ByVal As Const String = " ") As String
		Declare Function StrRepeat(ByVal As Const String, ByVal As Const Integer) As String
		Declare Function StrCount(ByVal As Const String, ByVal As Const String, ByVal As Const CompareMethod = BinaryCompare) As Integer
		Declare Function StrInPattern OverLoad(ByVal As Const Ubyte, ByVal As Const String) As Integer
		Declare Function StrInPattern(ByVal As Const String, ByVal As Const String) As Integer
		Declare Function StrCountChars(ByVal As Const String, ByVal As Const String) As Integer
		Declare Function StrReplaceChars OverLoad(ByVal As Const String, ByVal As Const String, ByVal As Const StrCharReplacer) As String
		Declare Function StrReplaceChars(ByVal As Const String, ByVal As Const String, ByVal As Const String) As String
		Declare Function StrRemoveChars(ByVal As Const String, ByVal As Const String) As String
		Declare Function StrExplode(ByVal As Const String, ByVal As Const String, res() As String, ByVal As Const CompareMethod = BinaryCompare) As Integer 
		Declare Function StrImplode(array() As String, ByVal As Const String = " ") As String
		Declare Function StrSplitByChar(ByVal As Const String, ByVal As Const String, res() As String) As Integer
		Declare Function StrLines(ByVal As Const String, res() As String) As Integer
		Declare Function StrExpandTabs(ByVal As Const String, ByVal As Const Integer = 8) As String
		Declare Function StrLike(ByVal As Const String, ByVal As Const String, ByVal As Const CompareMethod = BinaryCompare) As Integer
			
	End Namespace
	
	#Ifndef __FB_STRINGS_NO_INCLIB__
	#Inclib "fbstrings" 
	#EndIf

#EndIf